package com.storm.lib.util;

public class CheckUtil {

	public static void checkInValues(Integer value,int i, int j) {
		if(value==null){
			ExceptionUtil.throwInvalidParamException("你传的坑爹的参数null");
		}
		else{
			if(value!=i && value!=j){
				ExceptionUtil.throwInvalidParamException("你传的坑爹的参数不对");
			}
		}
	}
	
	public static void checkInValues(Integer value,int i, int j,int k) {
		if(value==null){
			ExceptionUtil.throwInvalidParamException();
		}
		else{
			if(value!=i && value!=j && value!=k){
				ExceptionUtil.throwInvalidParamException("你传的坑爹的参数不对:");
			}
		}
	}	
	
	public static void checkInValues(Integer value,int i, int j,int k,int l) {
		if(value==null){
			ExceptionUtil.throwInvalidParamException("你传的坑爹的参数null");
		}
		else{
			if(value!=i && value!=j && value!=k && value!=l){
				ExceptionUtil.throwInvalidParamException("你传的坑爹的参数不对");
			}
		}
	}
	
	public static void checkInValueRangess(Integer value,int start,int end){
		if(value==null){
			ExceptionUtil.throwInvalidParamException("空啊");
		}
		else{
			if(value<start || value>end){
				ExceptionUtil.throwInvalidParamException("你传的坑爹的参数不对"+value+"必须在"+start+"~"+end+"之间");
			}
		}
	}
	
	public static void checkIsNull(Object obj){
		if(obj==null){
			ExceptionUtil.throwInvalidParamException("空参数");
		}		
	}
	
	
	/**
	 * 
	 * 方法功能:必须是正数
	 * 更新时间:2011-11-17, 作者:johnny
	 * @param num
	 */
	public static void checkPositive(long num){
		if(num<=0){
			ExceptionUtil.throwInvalidParamException("不是正数");
		}
	}
	
	/**
	 * 
	 * 方法功能:必须是正数
	 * 更新时间:2011-11-17, 作者:johnny
	 * @param num
	 */
	public static void checkPositive(int num){
		if(num<=0){
			ExceptionUtil.throwInvalidParamException("不是正数");
		}
	}
	
	/**
	 * 
	 * 方法功能:
	 * 更新时间:2011-11-17, 作者:johnny
	 * @param num
	 */
	public static void checkNotBlewZero(int num){
		if(num<0){
			ExceptionUtil.throwInvalidParamException("给我负数了");
		}
	}
	
	/**
	 * 
	 * 方法功能:
	 * 更新时间:2011-11-17, 作者:johnny
	 * @param num
	 */
	public static void checkNotBlewZero(long num){
		if(num<0){
			ExceptionUtil.throwInvalidParamException("给我负数了");
		}
	}
	
	public static void checkValidString(String name,int length){
		if(StringUtil.isEmpty(name)){
			ExceptionUtil.throwInvalidParamException("不能为空噢");
		}
		if(name.length()>length){
			ExceptionUtil.throwInvalidParamException("太长了,最多"+length+"个字符");
		}
	}
	
	
	public static void checkTimesWithPostive(int num,int timesValue){
		checkPositive(num);
		checkIsTimes(num,timesValue);
	}

	private static void checkIsTimes(int num, int timesValue) {
		if(num%timesValue!=0){
			ExceptionUtil.throwInvalidParamException(num+"必须是"+timesValue+"的倍数");
		}
		
	}
}
